home *** CD-ROM | disk | FTP | other *** search
/ ShareWare OnLine 2 / ShareWare OnLine Volume 2 (CMS Software)(1993).iso / os2 / joeview.zip / joeview.HLP (.txt) < prev    next >
OS/2 Help File  |  1993-04-23  |  43KB  |  1,118 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. General Help ΓòÉΓòÉΓòÉ
  3.  
  4. JoeView is an attempt at an image viewer for a variety of image formats. Help 
  5. is available at almost any time.  I have implemented some unusual ways of 
  6. viewing images.  It is probably worth your while to look through the section on 
  7. Viewing Strategies at this time. 
  8.  
  9.  
  10. ΓòÉΓòÉΓòÉ 2. Main Menu ΓòÉΓòÉΓòÉ
  11.  
  12. The main menu system is accessed by hitting the system menu button located in 
  13. the upper left corner of the application.  You probably figured this out by 
  14. now. 
  15.  
  16.  
  17. ΓòÉΓòÉΓòÉ 2.1. Files ΓòÉΓòÉΓòÉ
  18.  
  19. This menu command does nothing by itself except bring up a second pull down 
  20. menu which has commands generally relating to file stuff.  Slide Show.  Open a 
  21. file. Save a file, etc.  The actual commands are: 
  22.  
  23. o Open 
  24.  
  25. o Save 
  26.  
  27. o SlideShow 
  28.  
  29. o Zoom 
  30.  
  31.  
  32. ΓòÉΓòÉΓòÉ 2.1.1. Open File Dialog ΓòÉΓòÉΓòÉ
  33.  
  34. This dialog is one of the better features of JoeView and I am especially proud 
  35. of it.  The dialog runs independently of the main window.  You can select a new 
  36. file at any time unless JoeView prevents it, and generally you will only be 
  37. prevented from opening a file if JoeView is already trying to open a file or 
  38. you are running SlideShow. 
  39.  
  40. Note:  The JPEG libraries use global variables that can interfere with each 
  41. other if trying to read and write JPEG style files at the same time.  If you 
  42. begin saving a file in the JPEG format and immediately try and read a JPEG 
  43. format file, JoeView will hold the read operation (and promote the priority of 
  44. the write operation) until the write is finished. This should be fairly 
  45. transparent to you. 
  46.  
  47. A file can be selected by typing in the file name in the File Mask entry field 
  48. or by double clicking on the files list box.  Directories are changed by double 
  49. clicking in the directory listbox.  Drives are changed using the pull down 
  50. listbox. The file mask entry field is where, in addition to simply typing a 
  51. file name, you may enter wild cards, like *.gif or multiple wild cards 
  52. separated by a ";" or "," for example "*.gif;*.bmp;*.tga" (no spaces)!  A list 
  53. of only those files that match the mask will be shown in the files list box. 
  54. Files can be shown in either alphabetical or dated format by selecting the 
  55. appropriate button. 
  56.  
  57. Confirm on delete does what it says.  If you try and delete a file , it will 
  58. prompt you first.  Turn it off and delete will just kill the file when you hit 
  59. the Delete button.  BEWARE!!! The file deleted is the file shown in the current 
  60. file area (at the upper left side of the dialog) not necessarily the file 
  61. currently being viewed.  If you only single click on a file in the files list 
  62. box it will be selected as the current file even though you are not looking at 
  63. it yet. Why does this feature exist?  Often a series of images are less than 
  64. desirable to me, so the ability to cream'em all at once is useful.  Just leave 
  65. the Confirm on Delete attribute on if your not sure, you will always be 
  66. prompted. 
  67.  
  68. Browse Mode keeps the dialog open when not in use.  This is useful if you are 
  69. going to look at a variety of files and don't want to keep opening the dialog 
  70. each time.  There is a memory penalty for doing so which is proportional to the 
  71. size of the directory being viewed.  When Browse Mode is active hitting Cancel 
  72. will do no more than bring the image window forward, you must turn off Browse 
  73. Mode to get rid of the File Open Dialog or you can simply use the minimize 
  74. button to get it out of the way. 
  75.  
  76. There are two buttons on the lower left side of the dialog box labeled N and P. 
  77. These buttons will cause the file either next or previous relative to the 
  78. currently highlighted file to be opened.  Both will cycle to either the 
  79. beginning or end of the list when going off the end.  They have accelerator 
  80. keys associated with them. 
  81.  
  82. One last item is the Quick Dir listbox.  Go back on click on Quick Dir for the 
  83. description. 
  84.  
  85.  
  86. ΓòÉΓòÉΓòÉ 2.1.2. Saving an Image ΓòÉΓòÉΓòÉ
  87.  
  88. The File Save dialog is pretty simple but deserves some explanation.  The Quick 
  89. Dir listbox needs some detailed explanation that can be accessed by clicking on 
  90. Quick Dir.  Drive, directory, and files are listings or displays of what is 
  91. currently available.  You can enter any valid directory/path combo in the Save 
  92. as: entry box.  The file listing is for information purposes mostly, but if you 
  93. do click on the file it will become the entry in the Save as: box. If you 
  94. double click on a file listbox entry, that will an indication that you want to 
  95. save the current image into that file. 
  96.  
  97. CAUTION:
  98. Be sure to indicate a file type before you double click on a file. 
  99.  
  100. When you select a file type, that appropriate extension is added to or changed 
  101. for the text in the Save as: entry field. 
  102.  
  103. File types available are: 
  104.  
  105. o GIF 
  106.  
  107. o JPEG 
  108.  
  109. o OS2 BMP 
  110.  
  111. o Windoze BMP 
  112.  
  113. o PBM (raw and ASCII) 
  114.  
  115. o X11 BMP 
  116.  
  117. o Sun Raster 
  118.  
  119. o TARGA 
  120.  
  121. All are pretty self explanatory, but it should be noted that for Windows and 
  122. OS2 bitmaps only non RLE formats are written.  RLE formats can be read however. 
  123.  
  124. There are two options located at the bottom of the dialog.  Save at displayed 
  125. size will write the image at whatever resolution the image is currently being 
  126. displayed with.  This is contrasted with the resolution that the image is 
  127. stored in memory as.  See Viewing Strategies  for details. 
  128.  
  129. The second option is to save at low priority.  Since JoeView is multithreaded 
  130. you can save a file and while it is being written to disk go ahead and start 
  131. loading a different image.  Low priority will write the current file a little 
  132. slower (in theory anyway) so that you (or other processes) can use the CPU to 
  133. do more important things, like loading/looking at another image.  Only one 
  134. image can be saved at a time.  The menu command to save an image will be 
  135. inaccessible until JoeView has finished saving the current file. 
  136.  
  137.  
  138. ΓòÉΓòÉΓòÉ 2.1.3. Slide Show ΓòÉΓòÉΓòÉ
  139.  
  140. Slide Show is used to display a series of images, either a new image is 
  141. displayed after a certain amount of time or after a certain signal is given ( 
  142. manual mode). 
  143.  
  144. The Drive listbox changes the current drive. 
  145.  
  146. Quick Dir is explained elsewhere. 
  147.  
  148. Directory is a listbox of the current directory.  Selecting an item in this 
  149. listbox will cause a change to that directory. 
  150.  
  151. Note:  Selecting the current directory will deselect all the files highlighted 
  152. in the Files listbox. 
  153.  
  154. The basic idea is to select a file that you want included in the display. You 
  155. can select a specific file by clicking on it in the File list box.  You may 
  156. select multiple files at one time.  A file is selected when it is highlighted. 
  157.  
  158. Note:  If you double click on a file, it is immediately selected into the 
  159. Selected Files listbox. 
  160.  
  161. If you have mistakenly highlighted a file, clicking on it again will de- 
  162. highlight it.  In addition to going after individual files in the Files 
  163. listbox, you may use any or all of the four buttons located above it.  *.gif 
  164. will highlight all files that have the .gif extension.  Similar for *.jpg while 
  165. *.* selects everything.  The Mask-> button will take whatever you have entered 
  166. in the listbox to its left and use it for finding files.  You DO NOT use wild 
  167. card symbols here (*, ?). 
  168.  
  169. Example:  Using .gif as the mask would highlight all files
  170. that have .gif in them.  This would include
  171. JoeView.gif
  172. myfile.old.gif
  173. 1.gif.jpg
  174. Using t as the mask would select any file with a t in it.
  175.  
  176. Once you have highlighted a file, hitting the Add-> button will select it into the Selected Files listbox.  The files listed there are the ones that will be used in the actual slide show.
  177.  
  178. If you have decided that you don't want to include a file that is listed in the Selected Files listbox, highlight it and use the <-Remove button to eliminate it.
  179.  
  180. Note:  You can select multiple copies of the same file into the Selected Files listbox.
  181.  
  182. The Start button will begin the slide show.
  183.  
  184. There are three options that can be selected without using the Options button.  They are: Timed vs Manual, and Loop.  All three can be modified from the dialog brought up by using the Options button.  The Options button brings up a more complete set
  185. of options than those displayed here.  See SlideShow Options.
  186.  
  187. Be aware that you can modify your selected options even when SlideShow is running by selecting Options off the Main Menu.
  188.  
  189. Once SlideShow begins, two additional options will appear on the Main Menu that exist only when you
  190. are running SlideShow.  One is Pause SlideShow and the other is Stop SlideShow.  Pause will temporarily halt the slide show, thus freeing the CPU for other things.  Once selected, this command will
  191. change to Restart SlideShow.
  192.  
  193. Note:  When JoeView is minimized the SlideShow will pause after the next image has been read in.
  194.  
  195. Stop SlideShow will stop the slide show.  The slide show will not stop in the middle of reading a file, so if a file is currently being loaded, JoeView will complete the load before ending the slide show.
  196.  
  197. Manual Mode:  The next image is displayed when you double click with the left mouse button on the current image or hit the N key.
  198.  
  199. Note:  You can skip ahead to the next image in Timed mode by double clicking with the left mouse button or hitting the N key.
  200.  
  201.  
  202. ΓòÉΓòÉΓòÉ 2.1.3.1. SlideShow Options ΓòÉΓòÉΓòÉ
  203.  
  204. You can specify the time interval between images being displayed.  This field 
  205. is ignored if you select manual mode.  The actual time interval is calculated 
  206. from the time the most recent image is displayed until the next image will 
  207. start to be read.  Because of time it take to read an image, the actual 
  208. interval between image displays may be quite different than that requested. 
  209.  
  210. There are four different ways of having the image displayed.  The first two are 
  211. grouped with the ability to force them not to change their window size.  The 
  212. fixed window size option does not affect the other two options.  Both Keep True 
  213. Aspect Ratio and Aspect Ratio can Distort will resize up to the size of the 
  214. screen with each new file load unless Fixed Window Size is specified. Keep True 
  215. Aspect Ratio will always display the image in its correct height vs width 
  216. ratio.  If Fixed Window Size is selected, the image may be padded with black 
  217. space on the sides or top and bottom as needed. Aspect Ratio can Distort will 
  218. resize the window to the correct size if Fixed Window Size if NOT selected. 
  219. Any subsequent resizes of the current image will force the image to fit inside 
  220. the window.  If Fixed Window Size is selected, the image will always fit 
  221. exactly into the window. 
  222.  
  223. The alternative two display options are size limited.  Auto Resize with 
  224. Constant Width will always keep the image at the current width of the window, 
  225. small images will expand appropriately while large ones will shrink.  The upper 
  226. left corner of the window is considered fixed, while the base is allowed to 
  227. float.  In this way the window will resize (as far down as the bottom of the 
  228. screen) to keep the Aspect Ratio correct. If the correct aspect ratio cannot be 
  229. achieved because the image would be too large, the image width will be padded. 
  230. Auto Resize with Constant Height is similar except the height of the window 
  231. will not change.  Again, the upper left corner is considered fixed and will not 
  232. be moved by JoeView.  The window will expand to the far right side of the 
  233. screen if needed. 
  234.  
  235. The Loop option will cause the slide show to begin over again once all the 
  236. images have been cycled through. 
  237.  
  238. Randomize files will cause the slide show images to appear in a random order, 
  239. otherwise they appear in the order listed in the Selected Files listbox shown 
  240. in the SlideShow dialog. 
  241.  
  242. Note:  The file list is randomized but no effort is made to make sure all files 
  243. are shown when the list is gone through, nor is the same file prevented from 
  244. being shown multiple times.  The only guarantee is that the correct number of 
  245. files will be shown during each cycle.  (cycle = 1 if Loop is not selected). 
  246.  
  247. Any of these options can be changed while the SlideShow is running.  Use the 
  248. Options command on the Main Menu once the slide show is started. 
  249.  
  250.  
  251. ΓòÉΓòÉΓòÉ 2.1.4. Zooming ΓòÉΓòÉΓòÉ
  252.  
  253. Zooming allows the user to zoom in on a particular area of the image.  That 
  254. area if first selected by using the right mouse button.  After a zoom has been 
  255. performed, the menu option will change to Zoom Out.  The original image is 
  256. unaffected by zooming, as opposed to  Cropping . 
  257.  
  258.  
  259. ΓòÉΓòÉΓòÉ 2.2. Manipulations ΓòÉΓòÉΓòÉ
  260.  
  261. This menu command does nothing but bring down another pull down menu.  The 
  262. commands on that menu are used for changing or manipulating the current image. 
  263. Many have keyboard equivalents. They are: 
  264.  
  265. o Flip 
  266. o Rotate 
  267. o Invert Colors 
  268. o Brighten 
  269. o Darken 
  270. o BW Dither 
  271. o Resize 
  272. o Reduce Colors 
  273. o Go Grayhound (grayscale) 
  274. o Crop 
  275. o Auto Crop 
  276.  
  277.  
  278. ΓòÉΓòÉΓòÉ 2.2.1. Flip ΓòÉΓòÉΓòÉ
  279.  
  280. Depending on the option selected, the current image is flipped (mirrored) 
  281. either vertically or horizontally. 
  282.  
  283.  
  284. ΓòÉΓòÉΓòÉ 2.2.2. Rotate ΓòÉΓòÉΓòÉ
  285.  
  286. Rotation is either clockwise or counterclockwise.  Rotation takes place in 90 
  287. degree increments. 
  288.  
  289.  
  290. ΓòÉΓòÉΓòÉ 2.2.3. Invert Colors ΓòÉΓòÉΓòÉ
  291.  
  292. The current image colors are inverted.  For example, black becomes white, etc. 
  293.  
  294.  
  295. ΓòÉΓòÉΓòÉ 2.2.4. Brighten ΓòÉΓòÉΓòÉ
  296.  
  297. Colors are all shifted up to brighter colors.  Will eventually turn entire 
  298. image white. 
  299.  
  300.  
  301. ΓòÉΓòÉΓòÉ 2.2.5. Darken ΓòÉΓòÉΓòÉ
  302.  
  303. Colors are all shifted down to darker colors.  Will eventually turn entire 
  304. image black. 
  305.  
  306.  
  307. ΓòÉΓòÉΓòÉ 2.2.6. BW Dither ΓòÉΓòÉΓòÉ
  308.  
  309. Turns current image into a black and white image. 
  310.  
  311.  
  312. ΓòÉΓòÉΓòÉ 2.2.7. Resize ΓòÉΓòÉΓòÉ
  313.  
  314. Resizing changes the resolution of the image.  This will effect that actual 
  315. image, not just the displayed image.  See  Viewing Strategies for more 
  316. information.  Remember that how you have specified that the image be displayed 
  317. may make it appear that this operation has done nothing when it actually has. 
  318. For example, you may have the window size fixed. 
  319.  
  320. You can do +-10% increments or size the image to fit a particular screen size, 
  321. such as 640 x 480, 800 x 600, and 1024 x 768.  In addition to can specify the 
  322. actual dimensions to use by using the custom command. 
  323.  
  324.  
  325. ΓòÉΓòÉΓòÉ 2.2.8. Reduce Colors ΓòÉΓòÉΓòÉ
  326.  
  327. You specify the number of colors you want the image to have.  Numbers greater 
  328. than the current number of colors the image uses will do nothing and values 
  329. less than 2 are not allowed. 
  330.  
  331.  
  332. ΓòÉΓòÉΓòÉ 2.2.9. Go Grayhound ΓòÉΓòÉΓòÉ
  333.  
  334. Converts the colors used in the image to grayscale. 
  335.  
  336.  
  337. ΓòÉΓòÉΓòÉ 2.2.10. Cropping ΓòÉΓòÉΓòÉ
  338.  
  339. Using the right mouse button, select an area of the image which you wish to 
  340. retain.  Using crop will eliminate all area's outside the indicated rectangle. 
  341. The change affects the image, unlike  Zoom. 
  342.  
  343. You must  be aware that the image may be being displayed with padded sides. 
  344. The padded sides exist for display only and so cannot be cropped away.  This 
  345. could happen if you manually resized the window after JoeView originally 
  346. displayed it. 
  347.  
  348.  
  349. ΓòÉΓòÉΓòÉ 2.2.11. Auto Cropping ΓòÉΓòÉΓòÉ
  350.  
  351. Auto cropping attempts to use a little bit of color comparisons to estimate 
  352. which parts of the picture need to be croppped. 
  353.  
  354. Regular: This method looks at the color of the pixel in the lower left corner 
  355. of the image. It then compares all other colors on each side of the image to 
  356. this color.  If one side's color all match this "magic" color, that side is 
  357. deleted.  This method progresses until a new color is encountered. 
  358.  
  359. Strict, Average, Loose, and Custom: All of these methods work on the same 
  360. underlying principle.  A group of colors are identified and used to compare a 
  361. side of the image to.  The group of "magic" colors will be taken from the lower 
  362. left side of the image unless a cropping rectangle has been selected, in which 
  363. case the " magic" colors are taken from there.  A maximum of 10 colors will be 
  364. determined, only one will be used if a solid color area is input.  A percentage 
  365. hit test is used to determine if a side of the image should be deleted.  For 
  366. instance, if you have 3 "magic" colors and if half the pixels of the side being 
  367. examined have these colors a hit of 50% would be recorded.  This hit percentage 
  368. is compared to the allowed value to determine whether or not to delete the 
  369. side.  The Strict, Average, and Loose options correlate to a 95%, 85%, and 75% 
  370. hit rates.  You can enter your own percentage using the custom command. 
  371.  
  372. Note:  If nothing seems to be happening, you might be using too tight a 
  373. percentage, but you also might be too loose.  If the percentage is way too 
  374. loose too much of the picture gets cropped and JoeView assumes that this isn't 
  375. what is desired and so does no cropping. 
  376.  
  377.  
  378. ΓòÉΓòÉΓòÉ 2.3. Options ΓòÉΓòÉΓòÉ
  379.  
  380. This will bring up one of two possible menus depending on whether or not you 
  381. are currently running SlideShow  The slideshow options can be looked at in the 
  382. Slide Show Options section.  The more regular options are 
  383.  
  384. o General 
  385.  
  386.    - Show Load Progress 
  387.  
  388.    - Overide System Colors 
  389.  
  390.    - Aggresive on palette 
  391.  
  392.    - Show Image Info 
  393.  
  394. o Image Windowing Options 
  395.  
  396.    - Scale, keep aspect ratio true 
  397.  
  398.    - Scale, aspect ratio can change 
  399.  
  400.    - Fixed Window Size 
  401.  
  402. o JPEG Stuff 
  403.  
  404. o Custom Cropping Value 
  405.  
  406. o Startup Drive and Directory 
  407.  
  408. o Saves 
  409.  
  410.    - Full Color 
  411.  
  412.    - Grayscale 
  413.  
  414.    - BW Dithered 
  415.  
  416.    - Save at displayed size 
  417.  
  418. o Confirm on delete 
  419.  
  420. o Browse Mode 
  421.  
  422. o Sort by date 
  423.  
  424. o Sort by name 
  425.  
  426. o Command Buttons 
  427.  
  428.    - Apply (Options become active, but are not saved) 
  429.  
  430.    - Save (Options saved but not applied) 
  431.  
  432.    - Cancel (duh!) 
  433.  
  434.    - Help 
  435.  
  436.  
  437. ΓòÉΓòÉΓòÉ 2.3.1. Load Progress ΓòÉΓòÉΓòÉ
  438.  
  439. Shows the current status of file loading, basically a percentage of image 
  440. loaded.  Shown in the window title bar.  Some File formats may not show this. 
  441.  
  442.  
  443. ΓòÉΓòÉΓòÉ 2.3.2. Overide System Colors ΓòÉΓòÉΓòÉ
  444.  
  445. Allows application to cream the system colors.  These are the colors used for 
  446. dialogs, menu text, etc.  There are not that many of them, you can figure out 
  447. how many unique ones you have by looking at the  Image Information Dialog 
  448. colors field.  You will often see "got 245 out of 256". Subtract the first 
  449. number from 256 to get the number of system colors. 
  450.  
  451. The colors that the application can't place are mapped into the closest ones 
  452. the system will display. Usually the increase in image quality is 
  453. insignificant, but you might use this option if you are not gonna look at other 
  454. applications while JoeView is running. 
  455.  
  456.  
  457. ΓòÉΓòÉΓòÉ 2.3.3. Aggresive on Palette ΓòÉΓòÉΓòÉ
  458.  
  459. The application will fight for colors it is using.  If another application 
  460. starts changing the palette this option will cause JoeView to try and change 
  461. the colors back every now and then.  If you are working with another 
  462. applications it can get annoying having the colors flash and the system will 
  463. slow down somewhat. 
  464.  
  465.  
  466. ΓòÉΓòÉΓòÉ 2.3.4. Quick but eh ΓòÉΓòÉΓòÉ
  467.  
  468. The fastest reading of a JPEG file, colors may be off. 
  469.  
  470.  
  471. ΓòÉΓòÉΓòÉ 2.3.5. Not bad ΓòÉΓòÉΓòÉ
  472.  
  473. This tries to implement Heckbert's Median Cut algorithm.  The code is hacked 
  474. from XV by John Bradley of The University of Pennsylvania which is in turn 
  475. based/hacked on code by Jef Poskanzer (ppmquant.c - quantize colors). 
  476.  
  477. It gets the job done, but sometimes not as fast as Best option.  Quality in 
  478. line with  Best.  I am not sure, but I get the feeling that when viewing true 
  479. 24 bit images (meaning way over 256 colors), this will give you the best 
  480. conversion down to 8 bit. 
  481.  
  482.  
  483. ΓòÉΓòÉΓòÉ 2.3.6. Best ΓòÉΓòÉΓòÉ
  484.  
  485. Best image display. Floyd-Steinberg dithering is used. 
  486.  
  487.  
  488. ΓòÉΓòÉΓòÉ 2.3.7. Startup directory ΓòÉΓòÉΓòÉ
  489.  
  490. Where would you like to start looking for images?  Leave blank to start in 
  491. current directory. 
  492.  
  493.  
  494. ΓòÉΓòÉΓòÉ 2.3.8. Full Color ΓòÉΓòÉΓòÉ
  495.  
  496. Save file using all the colors it currently has. 
  497.  
  498.  
  499. ΓòÉΓòÉΓòÉ 2.3.9. Grayscale ΓòÉΓòÉΓòÉ
  500.  
  501. Save image but first convert to grayscale colors. 
  502.  
  503.  
  504. ΓòÉΓòÉΓòÉ 2.3.10. BW Dithered ΓòÉΓòÉΓòÉ
  505.  
  506. Save image  but convert to Black and White first. 
  507.  
  508.  
  509. ΓòÉΓòÉΓòÉ 2.3.11. Save at Displayed Size ΓòÉΓòÉΓòÉ
  510.  
  511. Remember that the size of the displayed image may not be the size of the actual 
  512. image.  Select this if you want the image to be stored at the same dimensions 
  513. it is being displayed at.  See Viewing Strategies for more info. 
  514.  
  515.  
  516. ΓòÉΓòÉΓòÉ 2.3.12. Sort by Date ΓòÉΓòÉΓòÉ
  517.  
  518. Files are listed in chonological order. 
  519.  
  520.  
  521. ΓòÉΓòÉΓòÉ 2.3.13. Sort by Name ΓòÉΓòÉΓòÉ
  522.  
  523. Files are listed in alphabetical order. 
  524.  
  525.  
  526. ΓòÉΓòÉΓòÉ 2.4. Image Information ΓòÉΓòÉΓòÉ
  527.  
  528. This command brings up a window that shows information about the currently 
  529. displayed image.  The information consists of: 
  530.  
  531. o The Filename 
  532.  
  533. o Format of the image file and filesize 
  534.  
  535. o Resolution of the image in memory 
  536.  
  537. o Resolution of the image as display 
  538.  
  539. o Color information 
  540.  
  541. o An unseen line that occasionally will show warning messages 
  542.  
  543. o A history list box of manipulations that have been performed on the current 
  544.   image. 
  545.  
  546. The Information Box will remain around as long as JoeView is alive or until the 
  547. Hide button is pressed. 
  548.  
  549.  
  550. ΓòÉΓòÉΓòÉ 3. Some Hints ΓòÉΓòÉΓòÉ
  551.  
  552.  
  553. ΓòÉΓòÉΓòÉ 3.1. Viewing Strategies ΓòÉΓòÉΓòÉ
  554.  
  555. Images are displayed in several ways. Two ways that are always available are 1) 
  556. just a simple, correctly scaled image and 2) an image that starts out scaled, 
  557. but if you resize the window the aspect ratio will change so that the picture 
  558. always fills up the window.  These two types of display can be modified 
  559. somewhat by selecting the fixed window size attribute.  This option will force 
  560. JoeView to not resize the viewing window each time a new file is loaded 
  561. (whether by SlideShow or by File -> Open).  The user can resize the window at 
  562. any time. 
  563.  
  564. The SlideShow offers two addition ways of displaying images.  See SlideShow for 
  565. more information.  In no case however, are sliders ever used. 
  566.  
  567. The most important thing to remember when using JoeView is that the actual 
  568. resolution of the image (the width x height) is not always the same as that 
  569. which it is displayed with.  For example, let's say you are working on a system 
  570. that is limited to a display of 640 by 480 and you try and load an image that 
  571. is 2000 by 2000.  JoeView will resize the image to fit the screen when it 
  572. displays the image to you, but the data representing the image will stay at 
  573. 2000 by 2000.  Any operations (manipulations) that you perform on the image 
  574. will by done on the original image, the 2000 by 2000 one.  Now, let's say you 
  575. use the ReSize command to reduce the image to 640 by 480.  From as far as you 
  576. can tell, nothing will have changed.  This is because the image size is still 
  577. as big as the display can handle.  In reality you have changed the image size 
  578. and if you save the image it will be different than the one you originally 
  579. loaded.  The Image Information option on the main menu will keep you apprised 
  580. of the actual vs displayed resolution of the current image.  When you save a 
  581. file there is the option to save at the currently displayed size, the above 
  582. discussion is why that option exists. 
  583.  
  584.  
  585. ΓòÉΓòÉΓòÉ 3.2. Quick Dir ΓòÉΓòÉΓòÉ
  586.  
  587. An especially useful feature, the Quick Dir listbox is present in several 
  588. different dialogs: 
  589.  
  590. o File Open 
  591.  
  592. o Slide Show 
  593.  
  594. o File Save 
  595.  
  596. o Options It is only in the Options dialog the Quick Dir listbox can be 
  597.   modified. Aside from modifying the Quick Dir listbox, the Options dialog is 
  598.   not affected by it.  The format for an entry is to have a drive letter and 
  599.   full path 
  600.  
  601.   For Example  c:\images\gif there should not be any trailing slashes.  There 
  602.   is a limit of 10 entries that will be remembered. Others will be ignored. 
  603.   Unused entries should consist of blanks. 
  604.  
  605. The basic use of the Quick Dir is to allow the user to quickly access 
  606. frequently used directories. The actual use of the Quick Dir listbox varies 
  607. somewhat depending on the dialog. In the File Open and Slide Show dialogs Quick 
  608. Dir is accessed by using the pull down on the listbox. Doing so will cause the 
  609. current directory and drive to change to that selected in Quick Dir. With the 
  610. File Save dialog, invoking Quick Dir is the same, but instead of actually 
  611. changing the drive and directory, just the entry in the name of the file to be 
  612. saved will be updated.  If you want to change directories in the File Save 
  613. dialog you will have to use the drive and directory listboxes. 
  614.  
  615.  
  616. ΓòÉΓòÉΓòÉ 4. File Formats ΓòÉΓòÉΓòÉ
  617.  
  618. A variety of file formats are supported.  See each individual one for more 
  619. info. 
  620.  
  621. You should be aware of some limitations when doing conversions between 
  622. different file formats or if you are constantly rewriting reading and saving 
  623. the same image over and over again (See JPEG).  When JoeView reads a file, no 
  624. matter what the original format, it is stored as an 8 bit image (256 colors 
  625. max). This means that if you read in a JPEG, TARGA, Sun Raster, or PPM image 
  626. there exists the possibility that the original file is made up of more than 256 
  627. colors and so JoeView will reduce the colors down to 256.  So, if your goal is 
  628. to convert a 24 bit image stored in TARGA format to PPM there is a very good 
  629. chance that your image will suffer a loss in quality.  There are utilities 
  630. available to do true 24 bit conversions, if you are really concerned.  Most 
  631. likely the losses will be quite small. 
  632.  
  633. Eight bit formats will not suffer any degradation. 
  634.  
  635.  
  636. ΓòÉΓòÉΓòÉ 4.1. JPEG ΓòÉΓòÉΓòÉ
  637.  
  638. The JPEG reading and writing code is based on the following people's work: 
  639.  
  640. The Independent JPEG Group's JPEG software
  641. ==========================================
  642.  
  643. This software is the work of Tom Lane, Philip Gladstone, Luis Ortiz,
  644. Lee Crocker, Ge' Weijers, and other members of the Independent JPEG Group.
  645.  
  646. LEGAL ISSUES
  647. ============
  648.  
  649. The authors make NO WARRANTY or representation, either express or implied,
  650. with respect to this software, its quality, accuracy, merchantability, or
  651. fitness for a particular purpose.  This software is provided "AS IS", and you,
  652. its user, assume the entire risk as to its quality and accuracy.
  653.  
  654. This software is copyright (C) 1991, 1992, Thomas G. Lane.
  655. All Rights Reserved except as specified below.
  656.  
  657. Permission is hereby granted to use, copy, modify, and distribute this
  658. software (or portions thereof) for any purpose, without fee, subject to these
  659. conditions:
  660. (1) If any part of the source code for this software is distributed, then this
  661. README file must be included, with this copyright and no-warranty notice
  662. unaltered; and any additions, deletions, or changes to the original files
  663. must be clearly indicated in accompanying documentation.
  664. (2) If only executable code is distributed, then the accompanying
  665. documentation must state that "this software is based in part on the work of
  666. the Independent JPEG Group".
  667. (3) Permission for use of this software is granted only if the user accepts
  668. full responsibility for any undesirable consequences; the authors accept
  669. NO LIABILITY for damages of any kind.
  670.  
  671. Permission is NOT granted for the use of any IJG author's name or company name
  672. in advertising or publicity relating to this software or products derived from
  673. it.  This software may be referred to only as "the Independent JPEG Group's
  674. software".
  675.  
  676. We specifically permit and encourage the use of this software as the basis of
  677. commercial products, provided that all warranty or liability claims are
  678. assumed by the product vendor.
  679. ==================
  680.  
  681. The following is pretty much stolen verbatim for the JPEG information that is 
  682. supplied with the JPEG libraries. 
  683.  
  684. The Quality spin button lets you trade off compressed file size against the 
  685. quality of the saved image: the higher the quality setting, the larger the JPEG 
  686. file, and the closer the output image will be to the original input.  Normally 
  687. you want to use the lowest quality setting (smallest file) that decompresses 
  688. into something visually indistinguishable from the original image.  For this 
  689. purpose the quality setting should be between 50 and 95; the default of 75 is 
  690. often about right.  If you see defects at -quality 75, then go up 5 or 10 
  691. counts at a time until you are happy with the output image.  (The optimal 
  692. setting will vary from one image to another.) Quality 100 will generate a 
  693. quantization table of all 1's, eliminating loss in the quantization step (but 
  694. there is still information loss in subsampling, as well as roundoff error). 
  695. This setting is mainly of interest for experimental purposes.  Quality values 
  696. above about 95 are NOT recommended for normal use; the compressed file size 
  697. goes up dramatically for hardly any gain in output image quality. In the other 
  698. direction, quality values below 50 will produce very small files of low image 
  699. quality.  Settings around 5 to 10 might be useful in preparing an index of a 
  700. large image library, for example.  Try -quality 2 (or so) for some amusing 
  701. Cubist effects.  (Note: quality values below about 25 generate 2-byte 
  702. quantization tables, which are considered optional in the JPEG standard. 
  703.  
  704. Note:  some commercial JPEG programs may be unable to decode the resulting 
  705. file. Smooth Factor: Smooth the input image to eliminate dithering noise.  The 
  706. value selected, ranging from 1 to 100, indicates the strength of smoothing.  0 
  707. will mean to not use smoothing and can be used instead of the check button. 
  708. The Smooth option filters the currently displayed image to eliminate fine-scale 
  709. noise. This is often useful when saving files as JPEG: a moderate smoothing 
  710. factor of 10 to 50 gets rid of dithering patterns in the input file, resulting 
  711. in a smaller JPEG file and a better-looking image.  Too large a smoothing 
  712. factor will visibly blur the image, however. When reading a JPEG, there are 
  713. three mutually exclusive option that deals with quantization of the colors 
  714. (converting from a 24 to 8 bit image).  Your options are: 
  715.  
  716. o Quickest but eh.  The one pass color quantization.  The fastest of the three 
  717.   , but probably will result in a noticeably inferior image.  Good for a quick 
  718.   look. 
  719.  
  720. o Not Bad.  This tries to implement Heckbert's Median Cut algorithm.  The code 
  721.   is hacked from XV by John Bradley of The University of Pennsylvania which is 
  722.   in turn based/hacked on code by Jef Poskanzer (ppmquant.c - quantize colors). 
  723.   It gets the job done, but sometimes not as fast as Best.  Quality in line 
  724.   with Best.  I am not sure, but I get the feeling that when viewing true 24 
  725.   bit images, this will give you the best conversion down to 8 bit. This should 
  726.   be a step below the best method in terms of quality but faster.  Make your 
  727.   own judgment.  It is not part of the regular JPEG libraries. 
  728.  
  729. o Best.  Floyd-Steinberg dithering is used. 
  730.  
  731.  
  732. ΓòÉΓòÉΓòÉ 4.2. Bitmaps ΓòÉΓòÉΓòÉ
  733.  
  734. The two important types of bitmaps supported are Windows and OS2 style bitmaps. 
  735. JoeView should read any of these type of bitmaps (RLE and non-RLE) with the 
  736. following caveats: 
  737.  
  738. o Black and White images that are stored by using modified Huffman encoding can 
  739.   not be read. 
  740.  
  741. o With certain small bitmaps that are used as icons, you currently get an 
  742.   unrecognized file type error. 
  743.  
  744. o OS2 allows the use of halftones and such.  JoeView does not read these but I 
  745.   have never even seen one. 
  746.  
  747. Saving bitmaps, on the other hand, is limited to non-RLE style.  Basically the 
  748. bitmaps will take up more space than RLE style. 
  749.  
  750.  
  751. ΓòÉΓòÉΓòÉ 4.3. GIF ΓòÉΓòÉΓòÉ
  752.  
  753. Does em'. 
  754.  
  755. The code for reading and writing GIFs is based on code from XV, see the PBM 
  756. section for the appropriate copyright notice. The code XV has for reading GIFs 
  757. is based on gif2ras.c, Copyright (C) 1988, 1989 by Patrick J. Naughton, 
  758. naughton@sind.sun.com.  The code XV has writing GIFs is based on flgife.c and 
  759. flgifc.c from the FBM Library, by Michael Maudlin. 
  760.  
  761. JoeView will read both GIF87a and GIF89a formats but will write only GIF87a 
  762. format. 
  763.  
  764. "The Graphics Interchange Format(c) is the Copyright property of
  765. CompuServe Incorporated.  GIF(sm) is a Service Mark property of
  766. CompuServe Incorporated."
  767.  
  768.  
  769. ΓòÉΓòÉΓòÉ 4.4. TARGA ΓòÉΓòÉΓòÉ
  770.  
  771. The code to read Targa images is based on tgatoppm.c by Jef Poskanzer.  This is 
  772. the copyright stuff from that file. 
  773.  
  774. /* tgatoppm.c - read a TrueVision Targa file and write a portable pixmap
  775. **
  776. ** Partially based on tga2rast, version 1.0, by Ian MacPhedran.
  777. **
  778. ** Copyright (C) 1989 by Jef Poskanzer.
  779. **
  780. ** Permission to use, copy, modify, and distribute this software and its
  781. ** documentation for any purpose and without fee is hereby granted, provided
  782. ** that the above copyright notice appear in all copies and that both that
  783. ** copyright notice and this permission notice appear in supporting
  784. ** documentation.  This software is provided "as is" without express or
  785. ** implied warranty.
  786.  
  787. JoeView does both RLE and non-RLE style files. 
  788.  
  789.  
  790. ΓòÉΓòÉΓòÉ 4.5. PBM ΓòÉΓòÉΓòÉ
  791.  
  792. The code for reading and writing PBM files is based on code from XV, the 
  793. following is copyright information from XV. 
  794.  
  795.  
  796.  * Copyright 1989, 1990, 1991, 1992 by John Bradley and
  797.  *            The University of Pennsylvania
  798.  *
  799.  * Permission to use, copy, and distribute for non-commercial purposes,
  800.  * is hereby granted without fee, providing that the above copyright
  801.  * notice appear in all copies and that both the copyright notice and this
  802.  * permission notice appear in supporting documentation.
  803.  *
  804.  * The software may be modified for your own purposes, but modified versions
  805.  * may not be distributed.
  806.  *
  807.  * This software is provided "as is" without any expressed or implied warranty.
  808.  *
  809.  * The author may be contacted via:
  810.  *   US Mail:  John Bradley
  811.  *        GRASP Lab, Room 301C
  812.  *        3401 Walnut St.
  813.  *        Philadelphia, PA  19104
  814.  *
  815.  *   Phone:   (215) 898-8813
  816.  *   EMail:   bradley@cis.upenn.edu
  817.  *
  818.  
  819. JoeView uses the term PBM loosely, there are really three (or six) different 
  820. types of formats here.  They are: 
  821.  
  822.              PGM - portable graymap file format
  823.  
  824.    The portable graymap format is a lowest common denominator grayscale file
  825.    format.  The definition is as follows:
  826.  
  827.    - A "magic number" for identifying the file type.  A  pgm  file's  magic
  828.     number is the two characters "P2".
  829.  
  830.    - Whitespace (blanks, TABs, CRs, LFs).
  831.  
  832.    - A width, formatted as ASCII characters in decimal.
  833.  
  834.    - Whitespace.
  835.  
  836.    - A height, again in ASCII decimal.
  837.  
  838.    - Whitespace.
  839.  
  840.    - The maximum gray value, again in ASCII decimal.
  841.  
  842.    - Whitespace.
  843.  
  844.    - Width * height gray values, each in ASCII decimal, between  0  and  the
  845.     specified  maximum value, separated by whitespace, starting at the top-
  846.     left corner of the graymap, proceding in normal English reading  order.
  847.     A value of 0 means black, and the maximum value means white.
  848.  
  849.    - Characters from a "#" to the next end-of-line are ignored (comments).
  850.  
  851.    - No line should be longer than 70 characters.
  852.  
  853.    Here is an example of a small graymap in this format:
  854.    P2
  855.    # feep.pgm
  856.    24 7
  857.    15
  858.    0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
  859.    0  3  3  3  3  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15 15 15 15  0
  860.    0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0 15  0
  861.    0  3  3  3  0  0  0  7  7  7  0  0  0 11 11 11  0  0  0 15 15 15 15  0
  862.    0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0  0  0
  863.    0  3  0  0  0  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15  0  0  0  0
  864.    0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
  865.  
  866.  
  867.    There is also a variant on the format, the RAW style.
  868.    This variant is different in the following ways:
  869.  
  870.    - The "magic number" is "P5" instead of "P2".
  871.  
  872.    - The gray values are stored as plain bytes, instead of ASCII decimal.
  873.  
  874.    - No whitespace is allowed in  the  grays  section,  and  only  a  single
  875.     character  of  whitespace  (typically  a  newline) is allowed after the
  876.     maxval.
  877.  
  878.    - The files are smaller and many times faster to read and write.
  879.  
  880.    Note that this raw format can only be used for maxvals less than or equal
  881.    to 255.
  882.  
  883.           PBM - portable bitmap file format
  884.  
  885.    The portable bitmap format is a lowest common denominator monochrome file
  886.    format.  It was originally designed to make it reasonable to mail bitmaps
  887.    between different types of machines  using  the  typical  stupid  network
  888.    mailers  we  have today.  Now it serves as the common language of a large
  889.    family of bitmap conversion filters.  The definition is as follows:
  890.  
  891.    - A "magic number" for identifying the file type.  A  pbm  file's  magic
  892.     number is the two characters "P1".
  893.  
  894.    - Whitespace (blanks, TABs, CRs, LFs).
  895.  
  896.    - A width, formatted as ASCII characters in decimal.
  897.  
  898.    - Whitespace.
  899.  
  900.    - A height, again in ASCII decimal.
  901.  
  902.    - Whitespace.
  903.  
  904.    - Width * height bits, each either '1' or '0', starting at  the  top-left
  905.     corner of the bitmap, proceding in normal English reading order.
  906.  
  907.    - The character '1' means black, '0' means white.
  908.  
  909.    - Whitespace in the bits section is ignored.
  910.  
  911.    - Characters from a "#" to the next end-of-line are ignored (comments).
  912.  
  913.    - No line should be longer than 70 characters.
  914.  
  915.    Here is an example of a small bitmap in this format:
  916.    P1
  917.    # feep.pbm
  918.    24 7
  919.    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  920.    0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
  921.    0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
  922.    0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0
  923.    0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
  924.    0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0
  925.    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  926.  
  927.  
  928.    There is also a variant on the format, the RAW style.
  929.    This variant is different in the following ways:
  930.  
  931.    - The "magic number" is "P4" instead of "P1".
  932.  
  933.    - The bits are stored eight per byte, high bit first low bit last.
  934.  
  935.    - No whitespace is allowed  in  the  bits  section,  and  only  a  single
  936.     character  of  whitespace  (typically  a  newline) is allowed after the
  937.     height.
  938.  
  939.    - The files are eight times smaller and many times  faster  to  read  and
  940.     write.
  941.  
  942.               PPM - portable pixmap file format
  943.  
  944.    The portable pixmap format is a lowest  common  denominator  color  image
  945.    file format.  The definition is as follows:
  946.  
  947.    - A "magic number" for identifying the file type.  A  ppm  file's  magic
  948.     number is the two characters "P3".
  949.  
  950.    - Whitespace (blanks, TABs, CRs, LFs).
  951.  
  952.    - A width, formatted as ASCII characters in decimal.
  953.  
  954.    - Whitespace.
  955.  
  956.    - A height, again in ASCII decimal.
  957.  
  958.    - Whitespace.
  959.  
  960.    - The maximum color-component value, again in ASCII decimal.
  961.  
  962.    - Whitespace.
  963.  
  964.    - Width * height pixels, each three ASCII decimal values  between  0  and
  965.     the  specified  maximum  value,  starting at the top-left corner of the
  966.     pixmap, proceding in normal English reading order.  The  three  values
  967.     for each pixel represent red, green, and blue, respectively; a value of
  968.     0 means that color is off, and the maximum value means  that  color  is
  969.     maxxed out.
  970.  
  971.    - Characters from a "#" to the next end-of-line are ignored (comments).
  972.  
  973.    - No line should be longer than 70 characters.
  974.  
  975.    Here is an example of a small pixmap in this format:
  976.    P3
  977.    # feep.ppm
  978.    4 4
  979.    15
  980.    0  0  0   0  0  0   0  0  0  15  0 15
  981.    0  0  0   0 15  7   0  0  0   0  0  0
  982.    0  0  0   0  0  0   0 15  7   0  0  0
  983.    15  0 15   0  0  0   0  0  0   0  0  0
  984.  
  985.    There is also a variant on the format, the RAW style.
  986.    This variant is different in the following ways:
  987.  
  988.    - The "magic number" is "P6" instead of "P3".
  989.  
  990.    - The pixel values are stored as plain bytes, instead of ASCII decimal.
  991.  
  992.    - Whitespace is not allowed  in  the  pixels  area,  and  only  a  single
  993.     character  of  whitespace  (typically  a  newline) is allowed after the
  994.     maxval.
  995.  
  996.    - The files are smaller and many times faster to read and write.
  997.  
  998.    Note that this raw format can only be used for maxvals less than or equal
  999.    to 255.
  1000.  
  1001.    The above three descriptions are very slightly altered versions of descriptions
  1002.    originally written and Copyrighted (C) 1989, 1991 by Jef Poskanzer.
  1003.  
  1004. So, if you need to input a file format that JoeView does not support, here is 
  1005. your chance if you know the format of the data you already have.  Convert the 
  1006. data into the appropriate ASCII format style above.  It is probably simplest 
  1007. just to use the ppm format and let JoeView convert it down into the appropriate 
  1008. number of colors. 
  1009.  
  1010.  
  1011. ΓòÉΓòÉΓòÉ 4.6. X11 Bitmap ΓòÉΓòÉΓòÉ
  1012.  
  1013. The code for reading and writing X11 bitmaps was hacked from XV, see the PBM 
  1014. section for copyright info. 
  1015.  
  1016.  
  1017. ΓòÉΓòÉΓòÉ 4.7. Sun Raster ΓòÉΓòÉΓòÉ
  1018.  
  1019. The code for reading and writing Sun Raster files was stolen from XV, see the 
  1020. PBM  section for copyright info.  This particular code from XV was written by 
  1021. Dave Heath (heath@cs.jhu.edu) with additions by Ken Rossman 
  1022. (ken@shibuya.cc.columbia.edu). 
  1023.  
  1024.  
  1025. ΓòÉΓòÉΓòÉ 4.8. Utah RLE ΓòÉΓòÉΓòÉ
  1026.  
  1027. JoeView only reads Utah RLE files, it will not write them.  The code for 
  1028. reading Utah RLE files is based on code from XV, see the PBM section for 
  1029. copyright info. 
  1030.  
  1031.  
  1032. ΓòÉΓòÉΓòÉ 5. Key Help ΓòÉΓòÉΓòÉ
  1033.  
  1034. There are keyboard equivalents to many of the pull down menu commands.  Most 
  1035. are single character commands and will be shown on the menu underlined.  They 
  1036. are only valid when the main window is active.  They are: 
  1037.  
  1038. O  Open a file 
  1039.  
  1040. S  Save a file 
  1041.  
  1042. Z  Zoom in or out 
  1043.  
  1044. B  Brighten Image 
  1045.  
  1046. D  Darken Image 
  1047.  
  1048. G  Grayscale image 
  1049.  
  1050. C  Crop the image 
  1051.  
  1052. A  Auto crop the image using Average parameter 
  1053.  
  1054. I  Image information window 
  1055.  
  1056. H  Help table of contents 
  1057.  
  1058. K  This window 
  1059.  
  1060. N  Next image when in slide show mode 
  1061.  
  1062. Cntrl+N  Open File dialog next image 
  1063.  
  1064. Cntrl+P  Open File dialog previous image 
  1065.  
  1066. R  Refresh image 
  1067.  
  1068. Cntrl+O  Options Dialog 
  1069.  
  1070. Cntrl+S  Slide Show Dialog 
  1071.  
  1072. Space Bar  Minimize JoeView (someone's coming) 
  1073.  
  1074. F10  Quit 
  1075.  
  1076. The Open File dialog has the following keyboard equivalents, they are active 
  1077. only when the Open File dialog is active.  They are: 
  1078.  
  1079. Cntrl+N Show next image 
  1080.  
  1081. Cntrl+P Show previous image 
  1082.  
  1083. Space Bar Minimize JoeView 
  1084.  
  1085.  
  1086. ΓòÉΓòÉΓòÉ 6. A Few Thanks ΓòÉΓòÉΓòÉ
  1087.  
  1088. The following people were kind enough to answer questions I posted to the net. 
  1089. The few minutes they took to respond to my questions saved me untold days of 
  1090. fruitless searching through .inf files.  I hope these words make a contribution 
  1091. towards their 15 minutes of fame. 
  1092.  
  1093. o Keith Murray 
  1094.  
  1095. o Jeroen Hoppenbrouwers 
  1096.  
  1097. o Gene Mangum 
  1098.  
  1099. o Roman Fischer 
  1100.  
  1101. o Anders Bjurman 
  1102.  
  1103. This is of course in addition to the people who have made their source code 
  1104. available for use by others.  This would be the JPEG, PBM, and XV authors who 
  1105. are listed in the respective file formats sections. 
  1106.  
  1107.  
  1108. ΓòÉΓòÉΓòÉ 7. Mo' Money ΓòÉΓòÉΓòÉ
  1109.  
  1110. This program is not exactly shareware but it did require a great deal of time 
  1111. and effort to write.  If you feel an overpowering urge to toss a few bucks my 
  1112. way I won't be offended, honest.  Cash is best, send it to: 
  1113.  
  1114. Joe Burkley 
  1115.  
  1116. 6312 Rancho Mission Rd., #307 
  1117.  
  1118. San Diego, CA 92108